home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2u2.plp < prev    next >
Text File  |  1993-11-30  |  7KB  |  262 lines

  1. /********   バイナリメール,パティオにメッセージをアップする  v1.04a用 ********/
  2.     %UpText{
  3.     %UpOne{
  4.         %UpTitle{getchar(IndexLine,32,80)};
  5.         %UpBody{
  6.             %fno @head(@getchar(IndexLine,4,3),{ });
  7.             send( FNameTop|{MES}|fno|{.TXT});
  8.             type({\n/POST\n});
  9.             loop({
  10.                 wait(60,{TimeOut},
  11.                   {題名 (漢字で20文字まで)\n:}
  12.                     ,{type(@UpTitle);
  13.                       im({Yes})},
  14.         {宛先 (IDか同報グループ名又は FAX番号 改行で終了)\n:}
  15.                     ,{type(@getchar(IndexLine,32,80));
  16.                       wait(30,{TimeOut},{\n:});
  17.                       type({\n});
  18.                       im({Yes})},
  19.         {宛先 (例 abc@cc.xyz.ac.jp 改行で終了)\n:}
  20.                     ,{type(@UpTitle);
  21.                       wait(30,{TimeOut},{\n:});
  22.                       type({\n});
  23.                       im({Yes})},
  24.                   {(1:OK  2:NG)\n:}
  25.                     ,{type({1\n});im({Yes})},
  26.                   {◆登録されていません◆}
  27.                     ,{wait(30,{TimeOut},{\n:});
  28.                       type({\n});
  29.                       im({No})},
  30.                   {処理)\n>}    ,{type({\n});im({Yes})},
  31.                   {\n-送信完了-}
  32.                         ,{cond:={了}; im({No})},
  33.                   {\n-登録完了-}
  34.                         ,{cond:={了}; im({No})},
  35.                   {\n修正 (1:修正する 2:しない)\n:}
  36.                         ,{type({2\n});im({Yes})},
  37.                   {\n登録 (1:登録する  2:しない)\n:}
  38.                         ,{type({1\n});
  39.                           cond:={了};
  40.                           im({No})}
  41.                 )
  42.             });
  43.         };
  44.         %UpPatio{
  45.             %ReqPatio    @head(@getchar(IndexLine,14,8),{ });
  46.             %PatioData    @tail(@body(patio,,{/}|ReqPatio),{,});
  47.             %PatioID    @head(PatioData,{/});
  48.             %PatioPass    @body(PatioData,{/});
  49.             %ResNum        @getchar(IndexLine,26,5);
  50.             %uppatio1{
  51.                 %Say{
  52.                     type({SAY\n});
  53.                     wait(30,{TimeOut},{\n:});
  54.                     type({1\n});
  55.                 };
  56.                 case( ResNum ,
  57.                 {     },{ Say;
  58.                 },,{ type({RE }|ResNum|{\n});
  59.                 });
  60.                 loop({
  61.                     wait(30,{TimeOut},
  62.                     {/E)\n},{
  63.                     im({No});
  64.                     },{発言はありません◆\n},{
  65.                     Say; im({Yes});
  66.                     });
  67.                 });
  68.                 type({SUB:}|@UpTitle);
  69.                 UpBody;
  70.                 wait(130,{TimeOut},{\nPATIO(N)>},,
  71.                     {\nPATIO(P)>});
  72.                 case(cond,{了},{cond:={済}});
  73.             };
  74.             case(Where1={PATIO} && Where2=PatioID,{No},{
  75.                 %PatioDir logd|{\}|@head(ReqPatio,{ });
  76.                 GoHPpatio({PATIO},PatioID,PatioPass);
  77.             });
  78.             test(,,    {\nPATIO(N)>},{uppatio1},
  79.                 {\nPATIO(P)>},{uppatio1});
  80.         };
  81.         %GoProf{
  82.             type({GO PROFILE\n});
  83.             wait(20,{TimeOut},{E:終了)\n>});
  84.             Where1:={PROF};
  85.             type({SET PAGE OFF\n});
  86.             wait(30,{TimeOut},{\n>});
  87.         };
  88.         %UpProf{
  89.             case(Where1<>{PROF},{Yes},{GoProf});
  90.             test(,,{終了)\n>},{
  91.                 type({2\n});
  92.                 wait(30,{TimeOut},{行頭で/E)\n});
  93.                 UpBody;
  94.                 wait(60,{TimeOut},{終了)\n>});
  95.                 case(cond,{了},{cond:={保}});
  96.             });
  97.         };
  98.         %UpBMail{
  99.             var    sendid[10];
  100.             var    exid[10];
  101.             %UpBMail2{
  102.                 wait(30,{TimeOut},
  103.                   {ファイル名 (改行のみで終了)\n:},
  104.                 {type(FNameTop|{MES}|fno|{.TXT\n})});
  105.                 wait(3600,{TimeOut},
  106.                   {題名 (漢字で20文字まで)\n:},
  107.                 {type(@head(@getchar(IndexLine,32,80),{\n})|
  108.                     {\n})});
  109.                 wait(30,{TimeOut},
  110.                   {(1:OK  2:NG)\n:},
  111.                 {type({1\n})});
  112.                 wait(30,{TimeOut},
  113.                   {宛先 (IDか同報グループ名 改行で終了)\n:},
  114.                 {type(@getchar(IndexLine,14,8)|{\n})});
  115.                 wait(60,{TimeOut},
  116.                   {(1:OK  2:NG) \n:},
  117.                 {type({1\n})});
  118.             case(@fopen(FNameTop|{MES}|fno|{.ID}),{Yes},{
  119.                 loop({
  120.                 exid:=@getchar(@fread,1,8);
  121.                 case(exid<>{},
  122.                 {Yes},{
  123.                     wait(30,{TimeOut},
  124.                     {(IDか同報グループ名 改行で終了)\n:},
  125.                         {type(exid|{\n});
  126.                          wait(30,{TimeOut},
  127.                         {(1:OK  2:NG) \n:},
  128.                             {type({1\n})},
  129.                         {◆既に入力されています◆});
  130.                     });
  131.                     im({Yes});
  132.                 },{No},{ im({No});
  133.                 });
  134.                 });
  135.                 fclose;
  136.                 delfile(FNameTop|{MES}|fno|{.ID});
  137.             });
  138.                 wait(30,{TimeOut},
  139.                   {宛先 (IDか同報グループ名 改行で終了)\n:},
  140.                 {type({\n})});
  141.                 wait(30,{TimeOut},
  142.                   {送信(1:送信する  2:しない  3:期日指定)\n:},
  143.                 {type({1\n})},
  144.                   {送信 (1:送信する 2:しない)\n:},
  145.                 {type({1\n})});
  146.                 cond:={了}; im({No});
  147.             };
  148.             case(Smail={},
  149.             {Yes}, {case(Where1<>{MAIL},{Yes},{GoMail});
  150.             },{No},{case(Where1<>{FORUM} || Where2<>Smail,{Yes},{
  151.                     %ForumDir logd|{\}|@head(Smail,{ });
  152.                     GoForum(Smail);
  153.                 });
  154.             });
  155.  
  156.             test(,,{\nMAIL>},{
  157.                 type({UPLOAD TYPE:BIN PROT:BPL\n});
  158.                 UpBMail2;
  159.                 wait(60,{TimeOut},{\nMAIL>}); 
  160.                 case(cond,{了},{cond:={済}});
  161.             });
  162.         };
  163.         %UpFAX{
  164.             %UpMail2{
  165.                 wait(30,{TimeOut},{/E)\n});
  166.                 type({TO:}|@getchar(IndexLine,32,80));
  167.         /*        case(@body(Handle,{,})={} && @tail(Handle,{/})<>{}
  168.                  && @body(Handle,,{/})={},{Yes},{
  169.                     type({FROM:}|@tail(Handle,{/})|{\n});
  170.                 });*/
  171.                 wait(30,{TimeOut},{\n});
  172.                 UpBody;
  173.             };
  174.             case(Where1<>{MAIL},{Yes},{GoMail});
  175.             test(,,{\nMAIL>},{
  176.                 type({COM\n});
  177.                 UpMail2;
  178.                 wait(60,{TimeOut},{\nMAIL>}); 
  179.                 case(cond,{了},{cond:={済}});
  180.             });
  181.         };
  182.  
  183.         %GoWPNC{
  184.             case(Where4<>{NIF},{Yes},NIF);
  185.             type({GO WPNCSEND\n});
  186.             wait(20,{TimeOut},{E:終了)\n>});
  187.             Where1:={WPNC};
  188.             type({SET PAGE OFF\n});
  189.             wait(30,{TimeOut},{\n>})
  190.         };
  191.         %UpWPNC{
  192.             case(Where1<>{WPNC},{Yes},{GoWPNC});
  193.             test(,,{終了)\n>},{
  194.                 type({1\n});
  195.                 wait(30,{TimeOut},{行頭で/E)\n});
  196.                 UpBody;
  197.                 wait(60,{TimeOut},{終了)\n>}); 
  198.                 case(cond,{了},{cond:={済}});
  199.             });
  200.         };
  201.  
  202. /**********  Main Routine   **********/
  203.         var cond[2];
  204.         %WriteIndex{
  205.             write(SaveFName,IndexLine);
  206.             im({Yes});
  207.         };
  208.         delfile(SaveFName);
  209.         fopen(IndexFName);
  210.         loop({    IndexLine:=@fread;
  211.             case(@getchar(IndexLine,1,2),
  212.             {予},{    %fno @head(@getchar(IndexLine,4,3),{ });
  213.                 cond:={誤};
  214.                 case(@filechk(FNameTop|{MES}|fno|{.TXT}),
  215.                 {Yes},{    case(@getchar(IndexLine,8,5),
  216.                       {Forum},{cond:={予};
  217.                     },{HP   },{cond:={予};
  218.                     },{Mail },{cond:={予};
  219.                     },{PCVAN},{cond:={予};
  220.                     },{BMail},{UpBMail;
  221.                     },{MyPrf},{UpProf;
  222.                     },{Patio},{UpPatio;
  223.                     },{WPNC },{UpWPNC;
  224.                     },{FAX  },{UpFAX;
  225.                     },{Read },{cond:={予};
  226.                     },,{display({Invelid Dest. dest:}|
  227.                         @getchar(IndexLine,8,5)|{.\n});
  228.                     });
  229.                     IndexLine:=cond|
  230.                         @getchar(IndexLine,3,80);
  231.                     WriteIndex;
  232.                 },{No},{
  233.                     case(@getchar(IndexLine,8,5)={LIB  } ||
  234.                      @getchar(IndexLine,8,5)={Prof } ||
  235.                      @getchar(IndexLine,8,5)={List } ||
  236.                      @getchar(IndexLine,8,5)={RTN  } ||
  237.                      @getchar(IndexLine,8,5)={NEW  },
  238.                     {Yes},{WriteIndex;
  239.                     },{No},{
  240.                     display({UpFile not found. No.:}|
  241.                         fno|{.\n});
  242.                     WriteIndex;
  243.                     });
  244.                 });
  245.             },{説},{WriteIndex;
  246.             },{保},{WriteIndex;
  247.             },{覧},{WriteIndex;
  248.             },{済},{WriteIndex;
  249.             },{誤},{WriteIndex;
  250.             },    ,{im({No})
  251.             });
  252.         });
  253.         fclose;
  254.         copyfile(SaveFName,IndexFName);
  255.     };
  256.  
  257.     footnote({ 文書のアップ処理をしています});
  258.     code({sjis});
  259.     case(@filechk(IndexFName),{Yes},{UpOne});
  260.     };
  261. UpText;
  262.